Skip to main content

Resources to find good first issues for your first Open Source Contribution

Contribute-to-Open-Source.png

Hello Can you guide me with how to contribute to open source ? Do you know she got her job request from google after they found her contributing to open source ? How do I find my first good issue to contribute ? Do we get paid in our open source contributions ? What is the right time to start contributing? Etc.

These questions have been creating a void of anxiety inside a lot of student’s brains. Contributions to open source are not as complex as it seems, but there are few things one should consider before starting or finding a first good issue for their contribution.

What is open source ?


Open source is not a place, it is not an organization but it is a method that allows a person to contribute by:

  • Finding a bug in the coded structure, report it, solve it and voila the whole world can now use the upgraded version of the software.
  • Contribute in organizations whose source codes are easily accessible/available, by following their contributing guidelines such as Mozilla, Kubernetes, Open Stack, Gnome, Apache etc.
  • Contribute to various communities such as Hacktoberfest, GWOC, GSSoC, Google Summer of Code, Outreachy, FOSSASIA etc.

Summarizing the concept, open source contribution is about chipping in your knowledge in bits and pieces to the large communities that can be accessed freely/publicaly under common licenses such as MIT,GNU, Mozilla Public License etc.

Open source is not a concept just for computer engineers, students from any domain can contribute to open source either by the method of code, or by the method of documentation, audio format, video format, or by the methods of 3D prototyping etc. And thus this domain of contribution is open for students from all backgrounds.

Benifits of Open Source


After understanding what is open source, the question that still hangs in the air is “Why open source contributions and not something else?”. There are numerous reasons to discuss on this front, such as:

  • Students studying in their 1st year or 2nd year irrespective of the domain rarely get an opportunity to practically apply the subjects that they've been taught, in an internship or rarely get an internship which can provide them a good set of skills and knowledge. Thus open source provides them an opportunity to learn and brush their skills by implementing them on real world problems rather than a hypothetical one.
  • Open source contributions do not look for age, qualifications,marks or previous skills/experience and thus it allows students who are beginners to students who are professionals to contribute under the same roof. This ensures what we famously call Networking
  • Mentioning this, in your Resume/CV portrays a student’s ability to work in an unprecedented environment, good observation skills to solve the problem at hand and ability to work with a team or individually as per the chosen project.
  • Majority of times students do get paid or are offered an internship or are provided with a chance to be a part of a startup or hackathon out of their open source collaboration.
  • Your open source collaboration paves the first step to your freelancing career as well by providing you with skills and network.

Thus working for open source not just benefits you in terms of money, network of opportunities but also keeps you updated with the technological advancements and at the same time allows you to work remotely in the comfort of your time. Thus open source contributions are extremely beneficial for a student, a working professional and a fresher graduate as well.

7 Steps Strategy to start with your first Open Source Contribution and many more to come


Roadmap-for-open-source.png Step 1: Learn about the Prerequisites

  1. Learn about Git and GitHub
  2. Learn one programming language
  3. Learn basics about your area of interest. (eg. for Web development learn atleat HTML,CSS and Javascript)

Step 2: Find your niche Decide where you want to contribute and how you want to contribute (eg. In terms of code, In terms of documentation, In terms of audio/video etc.)

Step 3: Find an open source organisation that will help you to start with your first contribution

Step 4: Hone your skills In case you are not well aware about the framework or project you might be contributing in, learn it take guidance from your mentors, make some small projects to get a hands on experience about it and then apply the same to your open source contribution

Step 5: Understand where you are contributing and how you would benefit from it

Step 6: Stop overthinking start contributing

Step 7: Game up your resume with perfect description and share your experience about it on LinkedIn. Build your personal brand and help others.

Grab your first issue and make your first PR


Let’s pick up the first method of contribution which is to how to find bugs

  • In case you are completely lost or are totally new to this area go to Up for grabs,Issuehub.io and good first issues. These websites are beginner friendly and based on your choices they filter the results for you within seconds.
  • Github is everything. Use the powerful Explore Option of github, add the filter tags in the Issues section such as beginner friendly, good first issues etc. and voila you are onto your first contribution
  • Check out First Timers Only by Kent C Dodds or take the help of the Twitter Bot and filter the choices based on the search of first-timers-only..
  • Lastly check Awesome for beginners github repo and YourfirstPR by the Charlotte Spencer for some interesting projects to find bugs within.

These are some of the direct methods to find the bugs and solve them

Let’s pick up the second method of contribution which is work with an open source community. Every year there are multiple non-profit organisations that come up with community contributions from 1 month to 6 months.

They have mentors, supervisors, contributors under various domains working day in and day out to solve the issues at hand and reach the goal decided by the organisation at the starting of the contribution. Some of the well know student communities to contribute to open source are:

  • Major League Hacking (MLH): MLH fellowship is a three track program explorer, open source and externship. As per your eligibility criteria and your internest of work choose one track,prepare for the interview and contribute for the 12-week long with world’s largest community of developers
  • Google Summer of Code: Google Summer of Code is organised by google, but you are not an employee or intern at Google, you are working for the organisation you are assigned, the best part is its paid and you can earn upto 1500 USD.
  • Linux Kernel Mentorship Program : This is an open source free community program where you learn and contribute to the development of the Linux kernel.
  • Seasons of KDE: Students who are interested in contributing to the Devops or Cloud Containers community should always look out for Seasons of KDE. The participants of the Season of KDE program have not only contributed new features, but they are also responsible for developing KDE Continuous Integration System, ported KDE Applications, documentation, and various other things.

Similar to the one mentioned above there are many other paid and unpaid open source community programs one should always keep watch for that are Girlscript Summer of Code (GSSoC), NJACK Winter of Code by Indian Institute of Technology, Patna, KWoC by Kharagpur Open Source Society, IIT Kharagpur (KOSS), BOSS – Bountiful Open Source Summer by Coding Blocks, Outreachy, Hacktoberfest, Open Summer of Code, Hyperledger Mentorship Program, Redux OS Summer of Code etc.

Pick up any of the above desired choices of contribution, interact with the web of developers and contributors as much as you can, build a network and all the next steps to open source will be a cup of cake for you.

Bonus: Research about Open Source Project on Google Summer of Code


Find-contribution-using-Google-Summer-of-Code.png Step 1; Go to Google Summer of Code

Step 2: Go to the Organisations Tab

Step 3: Mention the name of the programming languange or the tech stack you are interested to contribute in, in the search tab.

Step 4: Find the right organisation

Step 5: Start contributing.

Conclusion


Open Source sounds overwhelming, and thus it is extremely important for all the students to give it a chance once. Thus without a wait, start learning and start contributing together. Open Source is a treasure of knowledge, experience and understandings, find the right niche, grab your first issue, work on it, submit your first PR and join in the crusade.